veri yürütme engellemesi ne demek?

Veri Yürütme Engellemesi (VEB)

Veri Yürütme Engellemesi (VEB), İngilizce adıyla Data Execution Prevention (DEP), bir bilgisayar güvenliği özelliğidir. Temelde, belleğin belirli alanlarının yalnızca veri depolamak için kullanılması, yürütülebilir kod içermemesi ilkesine dayanır. Bu sayede, kötü amaçlı yazılımların (malware) veri alanlarına kod enjekte ederek sistem üzerinde kontrol sağlaması engellenmeye çalışılır. VEB, hem donanımsal hem de yazılımsal olarak uygulanabilir.

Tarihçe

VEB'in kökleri, işletim sistemlerinin ilk dönemlerine kadar uzanır. Ancak, yaygın olarak kullanılmaya başlanması, Microsoft Windows'un Windows XP Service Pack 2 sürümü ile olmuştur. Daha sonra diğer işletim sistemleri de benzer teknolojileri uygulamaya başlamışlardır. Bu teknolojinin geliştirilmesindeki temel motivasyon, buffer overflow ve diğer bellek tabanlı saldırılara karşı bir savunma mekanizması oluşturmaktı.

Nasıl Çalışır?

VEB, belleği "yürütülebilir" ve "yürütülemez" olarak işaretler. Eğer bir işlemci, yürütülemez olarak işaretlenmiş bir bellek alanından kod çalıştırmaya çalışırsa, VEB devreye girer ve bu işlemi durdurur. Bu durum, genellikle bir istisna (exception) tetikleyerek uygulamanın çökmesine veya işletim sisteminin müdahale etmesine neden olur.

VEB'in iki temel uygulama şekli vardır:

  • Donanımsal VEB: Bu yöntem, işlemcinin NX bit (No eXecute) veya AMD'nin Execute Disable (XD) bitini kullanır. Bu bit, bellek sayfalarının yürütülebilir veya yürütülemez olarak işaretlenmesini sağlar. Donanımsal VEB, yazılımsal VEB'e göre daha güvenilirdir çünkü işlemci seviyesinde koruma sağlar.

  • Yazılımsal VEB: Bu yöntem, işletim sistemi tarafından emüle edilir. Yürütme izni olmayan bellek alanlarından kod yürütülmeye çalışıldığında işletim sistemi müdahale eder. Yazılımsal VEB, donanımsal VEB'in olmadığı durumlarda kullanılır ancak daha az güvenilirdir.

VEB'in Faydaları

  • Kötü Amaçlı Yazılımlara Karşı Koruma: VEB, özellikle buffer overflow saldırılarına karşı etkili bir savunma mekanizmasıdır. Bu tür saldırılarda, saldırganlar belleğe kötü amaçlı kod enjekte eder ve bu kodu çalıştırmaya çalışır. VEB, bu tür kodların yürütülmesini engelleyerek sistemi korur.
  • Sistem Kararlılığını Artırma: VEB, hatalı veya kötü niyetli kodun rastgele bellek alanlarından yürütülmesini engelleyerek sistem kararlılığını artırabilir.
  • Zero-Day Saldırılara Karşı Koruma: VEB, henüz bilinmeyen (zero-day) güvenlik açıklarından yararlanmaya çalışan saldırılara karşı da bir miktar koruma sağlayabilir.

VEB'in Sınırlamaları

  • Uyumluluk Sorunları: Bazı eski uygulamalar veya sürücüler, VEB ile uyumlu olmayabilir. Bu durumda, VEB'in devre dışı bırakılması gerekebilir, bu da güvenlik risklerini artırır.
  • ROP Saldırıları: Return-Oriented Programming (ROP) saldırıları, VEB'i aşmak için kullanılan bir tekniktir. ROP saldırılarında, saldırganlar mevcut sistem kitaplıklarındaki kod parçacıklarını (gadget'ları) kullanarak kötü amaçlı kod oluşturur. VEB, bu tür saldırılara karşı tam koruma sağlamaz.
  • Bellek İzinlerinin Yanlış Yapılandırılması: VEB'in yanlış yapılandırılması, sistemin düzgün çalışmasını engelleyebilir veya güvenlik açıklarına yol açabilir.

İşletim Sistemlerinde VEB

Çoğu modern işletim sistemi, VEB'i destekler. Örneğin:

  • Microsoft Windows: Windows XP SP2'den itibaren VEB (Data Execution Prevention) özelliği bulunur. Windows'ta VEB, komut satırından (BCDedit) veya grafik arayüzünden yapılandırılabilir.
  • Linux: Linux, NX bitini veya benzeri donanımsal özellikleri destekler. /proc/cpuinfo dosyasından NX bitinin etkin olup olmadığı kontrol edilebilir. SELinux ve AppArmor gibi güvenlik modülleri de VEB benzeri işlevler sunar.
  • macOS: macOS, NX bitini destekler ve yazılımsal VEB de içerir.

VEB'i Etkinleştirme/Devre Dışı Bırakma (Windows Örneği)

Windows'ta VEB'i etkinleştirmek veya devre dışı bırakmak için şu adımlar izlenebilir:

  1. Komut İstemi (Yönetici olarak) açın.
  2. Aşağıdaki komutlardan birini kullanın:
    • VEB'i Etkinleştirmek: bcdedit.exe /set {current} nx AlwaysOn
    • VEB'i Devre Dışı Bırakmak: bcdedit.exe /set {current} nx OptOut
  3. Bilgisayarı yeniden başlatın.

Uyarı: VEB'i devre dışı bırakmak, sistemin güvenliğini önemli ölçüde azaltabilir. Sadece zorunlu durumlarda ve dikkatli bir şekilde devre dışı bırakılmalıdır.

Sonuç

Veri Yürütme Engellemesi (VEB), bilgisayar sistemlerini kötü amaçlı yazılımlara karşı korumak için önemli bir güvenlik önlemidir. Belleğin belirli alanlarının yalnızca veri depolamak için kullanılmasını sağlayarak, kötü niyetli kodların yürütülmesini engeller. Ancak, VEB'in de sınırlamaları vardır ve tek başına mükemmel bir güvenlik çözümü değildir. Diğer güvenlik önlemleriyle birlikte kullanıldığında, sistem güvenliğini önemli ölçüde artırabilir. Gelişen siber güvenlik tehditleri karşısında VEB ve benzeri teknolojilerin önemi giderek artmaktadır.

Kendi sorunu sor